This invention relates to a content addressable memory (hereinafter called "CAM").
CAM is a memory of the type which is addressable in accordance with the content for which coincidence is desired. This CAM is effective when retrieving a plurality of data in parallel with one another. The possible application of CAM in the field of computers may be an address array of cache memories, translation look-aside buffers for address conversion and various other applications. However, CAM has not yet been employed widely because the cost of CAM per bit is higher than that of a random access memory (hereinafter called "RAM"). It is expected, however, that CAM will gain a wide range application in future with further improvement in the integration density of LSI.
FIG. 1 shows a conventional content addressable memory device using CAM. Reference numerals 100 and 120 represent the array portions of CAM and RAM, respectively. Each word of CAMs 110a-110n stores the key to be retrieved. Each word of RAMs 120a-120n stores the data corresponding to each key stored in CAM. Each word of CAM is directly connected to that of RAM by signal line 130a-130n. This signal line is a word coincidence line when viewed from the CAM side, and is a word selection line when viewed from the RAM side. When the key to be retrieved is input by the signal line 140, it is compared in parallel with the key stored in each word of CAM, and the word coincidence line of the word which proves to be coincident is asserted. Therefore, the word selection line of the corresponding RAM is asserted, and the data belonging to the coincident key is read out from the RAM through the signal line 150. An example of a cache memory using such a content addressable memory device is disclosed, for example, in Japanese Patent Laid-Open No. 68,287/1983.
The first problem with a memory device of the kind described above is that the key and the data can not be stored simultaneously in the CAM and RAM. The key is temporarily stored in the CAM word, then, the RAM word selection line is selected by inputting the same key to the signal line 140; then, the data must be written into the RAM word through the signal line 150. The second problem is that an arbitrary RAM word line can not be selected easily because the RAM word selection line is directly connected to the CAM word coincidence line. In other words, it has been necessary to store in advance a predetermined key in the corresponding CAM word, and then to input that key to the CAM, in order to select a particular RAM word line.